Filename | (eval 33)[/usr/local/share/perl/5.18.2/Sub/Quote.pm:3] |
Statements | Executed 76 statements in 985µs |
Eval Invoked At | /usr/local/share/perl/5.18.2/Sub/Quote.pm line 3 |
Sibling evals | 1, 2 |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
3 | 3 | 2 | 171µs | 11.0ms | new | String::Markov::
1 | 1 | 1 | 39µs | 39µs | BEGIN@22 | Method::Generate::Constructor::
1 | 1 | 1 | 25µs | 42µs | BEGIN@16 | Sub::Quote::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | { | ||||
2 | 2 | 2µs | my $default_for_normalize = ${$_[1]->{"\$default_for_normalize"}}; | ||
3 | 1 | 400ns | my $default_for_do_5fchomp = ${$_[1]->{"\$default_for_do_5fchomp"}}; | ||
4 | 1 | 400ns | my $isa_check_for_transition_5fcount = ${$_[1]->{"\$isa_check_for_transition_5fcount"}}; | ||
5 | 1 | 400ns | my $isa_check_for_order = ${$_[1]->{"\$isa_check_for_order"}}; | ||
6 | 1 | 600ns | my $_QUOTED = ${$_[1]->{"\$_QUOTED"}}; | ||
7 | 1 | 500ns | my $default_for_split_5fsep = ${$_[1]->{"\$default_for_split_5fsep"}}; | ||
8 | 1 | 400ns | my $isa_check_for_row_5fsum = ${$_[1]->{"\$isa_check_for_row_5fsum"}}; | ||
9 | 1 | 300ns | my $default_for_order = ${$_[1]->{"\$default_for_order"}}; | ||
10 | 1 | 300ns | my $default_for_transition_5fcount = ${$_[1]->{"\$default_for_transition_5fcount"}}; | ||
11 | 1 | 400ns | my $default_for_row_5fsum = ${$_[1]->{"\$default_for_row_5fsum"}}; | ||
12 | 1 | 400ns | my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}}; | ||
13 | 1 | 400ns | my $default_for_stable = ${$_[1]->{"\$default_for_stable"}}; | ||
14 | 1 | 400ns | my $default_for_null = ${$_[1]->{"\$default_for_null"}}; | ||
15 | 1 | 400ns | my $default_for_join_5fsep = ${$_[1]->{"\$default_for_join_5fsep"}}; | ||
16 | 2 | 97µs | 2 | 60µs | # spent 42µs (25+18) within Sub::Quote::BEGIN@16 which was called:
# once (25µs+18µs) by Sub::Quote::_clean_eval at line 16 # spent 42µs making 1 call to Sub::Quote::BEGIN@16
# spent 18µs making 1 call to warnings::unimport |
17 | package String::Markov; | ||||
18 | # spent 11.0ms (171µs+10.8) within String::Markov::new which was called 3 times, avg 3.67ms/call:
# once (18µs+10.7ms) by main::RUNTIME at line 17 of index.cgi
# once (82µs+93µs) by main::RUNTIME at line 38 of index.cgi
# once (72µs+76µs) by main::RUNTIME at line 67 of Sub/Defer.pm | ||||
19 | ($_QUOTED,$_UNQUOTED) if 0; | ||||
20 | # BEGIN quote_sub PRELUDE | ||||
21 | package Method::Generate::Constructor; | ||||
22 | # spent 39µs within Method::Generate::Constructor::BEGIN@22 which was called:
# once (39µs+0s) by Sub::Quote::_clean_eval at line 27 | ||||
23 | 1 | 2µs | $^H = "2018"; | ||
24 | 1 | 500ns | ${^WARNING_BITS} = "UUUUUUUUUUUUUU\025"; | ||
25 | 1 | 39µs | %^H = ( | ||
26 | ); | ||||
27 | 1 | 686µs | 1 | 39µs | } # spent 39µs making 1 call to Method::Generate::Constructor::BEGIN@22 |
28 | # END quote_sub PRELUDE | ||||
29 | 4 | 5µs | my $class = ref($_[0]) ? ref(shift) : shift; if ($class ne "String::Markov") { | ||
30 | if ($Moo::MAKERS{$class}) { | ||||
31 | if ($Moo::MAKERS{$class}{constructor}) { | ||||
32 | package String::Markov; | ||||
33 | return $class->SUPER::new(@_); | ||||
34 | } | ||||
35 | Moo->_constructor_maker_for($class); | ||||
36 | return $class->new(@_); | ||||
37 | } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) { | ||||
38 | return $meta->new_object( | ||||
39 | $class->can("BUILDARGS") ? $class->BUILDARGS(@_) | ||||
40 | : $class->Moo::Object::BUILDARGS(@_) | ||||
41 | ); | ||||
42 | } | ||||
43 | } | ||||
44 | 2 | 20µs | 2 | 104µs | my $args = $class->BUILDARGS(@_); # spent 104µs making 2 calls to String::Markov::BUILDARGS, avg 52µs/call |
45 | 2 | 2µs | die "BUILDARGS did not return a hashref" unless ref($args) eq 'HASH'; | ||
46 | 2 | 3µs | my $new = bless({}, $class);; | ||
47 | ($new->{"do_chomp"} = ( | ||||
48 | exists $args->{"do_chomp"} | ||||
49 | ? $args->{"do_chomp"} | ||||
50 | : $default_for_do_5fchomp->($new))),($new->{"join_sep"} = ( | ||||
51 | exists $args->{"join_sep"} | ||||
52 | ? $args->{"join_sep"} | ||||
53 | : $default_for_join_5fsep->($new))),($new->{"normalize"} = ( | ||||
54 | exists $args->{"normalize"} | ||||
55 | ? $args->{"normalize"} | ||||
56 | : $default_for_normalize->($new))),($new->{"null"} = ( | ||||
57 | exists $args->{"null"} | ||||
58 | ? $args->{"null"} | ||||
59 | 2 | 2µs | : $default_for_null->($new))),($new->{"order"} = scalar do { my $value = ( | ||
60 | exists $args->{"order"} | ||||
61 | ? $args->{"order"} | ||||
62 | : $default_for_order->($new)); | ||||
63 | 2 | 2µs | (do { | ||
64 | 2 | 6µs | local $Method::Generate::Accessor::CurrentAttribute = { | ||
65 | init_arg => "order", | ||||
66 | name => "order", | ||||
67 | step => "isa check", | ||||
68 | }; | ||||
69 | 2 | 2µs | (my $_error), (my $_old_error = $@); | ||
70 | 2 | 2µs | (eval { | ||
71 | 2 | 6µs | 2 | 23µs | ($@ = $_old_error), # spent 23µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:20], avg 12µs/call |
72 | ($isa_check_for_order->($value)), | ||||
73 | 1 | ||||
74 | } or | ||||
75 | $_error = ref $@ ? $@ : "isa check for \"order\" failed: ".$@); | ||||
76 | 2 | 4µs | ($@ = $_old_error), | ||
77 | (defined $_error and die $_error); | ||||
78 | } | ||||
79 | ), | ||||
80 | $value | ||||
81 | } | ||||
82 | 2 | 5µs | 2 | 4µs | ),($new->{"row_sum"} = scalar do { my $value = ( # spent 4µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:30], avg 2µs/call |
83 | exists $args->{"row_sum"} | ||||
84 | ? $args->{"row_sum"} | ||||
85 | : $default_for_row_5fsum->($new)); | ||||
86 | 2 | 2µs | (do { | ||
87 | 2 | 4µs | local $Method::Generate::Accessor::CurrentAttribute = { | ||
88 | init_arg => "row_sum", | ||||
89 | name => "row_sum", | ||||
90 | step => "isa check", | ||||
91 | }; | ||||
92 | 2 | 1µs | (my $_error), (my $_old_error = $@); | ||
93 | 2 | 1µs | (eval { | ||
94 | 2 | 5µs | 2 | 5µs | ($@ = $_old_error), # spent 5µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:29], avg 3µs/call |
95 | ($isa_check_for_row_5fsum->($value)), | ||||
96 | 1 | ||||
97 | } or | ||||
98 | $_error = ref $@ ? $@ : "isa check for \"row_sum\" failed: ".$@); | ||||
99 | 2 | 3µs | ($@ = $_old_error), | ||
100 | (defined $_error and die $_error); | ||||
101 | } | ||||
102 | ), | ||||
103 | $value | ||||
104 | } | ||||
105 | ),($new->{"split_sep"} = ( | ||||
106 | exists $args->{"split_sep"} | ||||
107 | ? $args->{"split_sep"} | ||||
108 | : $default_for_split_5fsep->($new))),($new->{"stable"} = ( | ||||
109 | exists $args->{"stable"} | ||||
110 | ? $args->{"stable"} | ||||
111 | 4 | 55µs | 10 | 30µs | : $default_for_stable->($new))),($new->{"transition_count"} = scalar do { my $value = ( # spent 14µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:14], avg 7µs/call
# spent 5µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:15], avg 3µs/call
# spent 5µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:16], avg 2µs/call
# spent 3µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:17], avg 2µs/call
# spent 2µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:30], avg 1µs/call |
112 | exists $args->{"transition_count"} | ||||
113 | ? $args->{"transition_count"} | ||||
114 | : $default_for_transition_5fcount->($new)); | ||||
115 | 2 | 1µs | (do { | ||
116 | 2 | 4µs | local $Method::Generate::Accessor::CurrentAttribute = { | ||
117 | init_arg => "transition_count", | ||||
118 | name => "transition_count", | ||||
119 | step => "isa check", | ||||
120 | }; | ||||
121 | 2 | 1µs | (my $_error), (my $_old_error = $@); | ||
122 | 2 | 1µs | (eval { | ||
123 | 2 | 2µs | 2 | 2µs | ($@ = $_old_error), # spent 2µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:29], avg 1µs/call |
124 | ($isa_check_for_transition_5fcount->($value)), | ||||
125 | 1 | ||||
126 | } or | ||||
127 | $_error = ref $@ ? $@ : "isa check for \"transition_count\" failed: ".$@); | ||||
128 | 2 | 2µs | ($@ = $_old_error), | ||
129 | (defined $_error and die $_error); | ||||
130 | } | ||||
131 | ), | ||||
132 | $value | ||||
133 | } | ||||
134 | ), return $new; | ||||
135 | } | ||||
136 | 1 | 2µs | $$_UNQUOTED = \&new | ||
137 | } | ||||
138 | 1 | 10µs | 1; | ||
139 | |||||
140 | ; |